import {reqAddressList,reqDelAddress} from '../../../api/address'
import {swipeCellBehavior} from '../../../../../behaviors/swipeCell'
import {
  toast,modal
} from '../../../../../utils/extendApi.js'
//获取应用实例
const app = getApp()
Page({
  behaviors: [swipeCellBehavior],
  data: {
    addressList:[],
    flag:'',
  },
  onShow(){
    this.getData()
  },
  onLoad(options){
    // 接收传递的参数，挂载到页面的实例上，方便在其他方法中使用
    this.data.flag = options.flag
  },
  // 更新收货地址
  changeAddress(event) {
    // 需要判断是否是从结算支付页面进入的收货地址列表页面
    // 如果是，才能够获取点击的收货地址，否则，不执行后续的逻辑，不执行切换收货地址的逻辑
    if (this.data.flag != '1') return
    // 如果是从结算支付页面进入的收货地址列表页面，需要获取点击的收货地址详细信息
    const addressId = event.currentTarget.dataset.id
    // 需要从收货地址列表中根据 收货地址 ID 查找到点击的收货地址详情、详细信息
    const selectAddress = this.data.addressList.find((item) => item.id === addressId)
    if (selectAddress) {
      // 如果获取收货地址成功以后，需要赋值给全局共享的数据
      app.globalData.address = selectAddress
      wx.navigateBack()
    }
  },
  async getData(){
   const res =  await reqAddressList()
   if(res.code == 200){
     this.setData({
      addressList:res.data
     })
   }

  },
  goAddressAdd(e){
   let {id} = e.currentTarget.dataset
    wx.navigateTo({
      url: `/modules/settingModule/pages/address/add/add?id=${id}`,
    })
  },
  //删除
  async changeDel(e){
    let {id} = e.currentTarget.dataset
    // 询问用户是否确认删除
    const modalRes = await modal({
      content:'您确认删除该收获地址吗？'
    })
    //用户确认删除
    if(modalRes){
      let res = await reqDelAddress(id)
      toast({title:'删除成功'})
      this.getData()
    }


  },
})